package com.css.zfzx.fwsjcj.modules.report.service;

import com.css.zfzx.fwsjcj.modules.analysis.vo.AnalysisQueryVo;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

public interface XCReportService {
    /**
     * 生成详查报告
     * @param province
     * @param city
     * @param request
     * @param response
     */
    void exportReport(String province, String city,String area,String taskName,String timeStamp,HttpServletRequest request, HttpServletResponse response);

    /**
     * 砖混结构、砖石木结构外墙厚度统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickOutWallThickNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 砖混结构、砖石木结构外墙厚度统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickOutWallThickArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 砖混结构、砖石木结构内隔墙厚度统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickInWallThickNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 砖混结构、砖石木结构内隔墙厚度统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickInWallThickArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 砖混结构、砖石木结构墙体材质统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickWallMaterialNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 砖混结构、砖石木结构墙体材质统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickWallMaterialArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 砖混结构、砖石木结构砂浆类型统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickMortarTypeNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 砖混结构、砖石木结构砂浆类型统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickMortarTypeArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 砖混结构、砖石木结构砂浆类型统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickMortarStrengthNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 砖混结构、砖石木结构砂浆类型统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickMortarStrengthArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 砖混结构、砖石木结构屋盖类别统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickRoofTypeNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 砖混结构、砖石木结构屋盖类别统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickRoofTypeArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 砖混结构、砖石木结构屋盖类别统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickFloorTypeNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 砖混结构、砖石木结构屋盖类别统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickFloorTypeArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 砖混结构、砖石木结构圈梁设置统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickJlInstallNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 砖混结构、砖石木结构圈梁设置统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> brickJlInstallArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构柱混凝土强度等级统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulZhntqdLevelNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构柱混凝土强度等级统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulZhntqdLevelArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构主要柱截面尺寸统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulZyzjmSizeNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构主要柱截面尺寸统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulZyzjmSizeArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构最大柱间距统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulZdzSpanNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构最大柱间距统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulZdzSpanArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构剪力墙混凝土强度等级统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulJlqhntqdLevelNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构剪力墙混凝土强度统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulJlqhntqdLevelArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构剪力墙最大间距统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulJlqzdSpanNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构剪力墙最大间距统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulJlqzdSpanArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构剪力墙厚度统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulShearwellThicknessNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构剪力墙厚度统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulShearwellThicknessArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构屋盖类别统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulRoofTypeNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构屋盖类别统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulRoofTypeArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构楼盖类别统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulFloorTypeNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 多层钢筋混凝土结构楼盖类别统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> mulFloorTypeArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构柱混凝土强度等级统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightZhntqdLevelNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构柱混凝土强度等级统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightZhntqdLevelArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构主要柱截面尺寸统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightZyzjmSizeNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构主要柱截面尺寸统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightZyzjmSizeArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构最大柱间距统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightZdzSpanNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构最大柱间距统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightZdzSpanArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构剪力墙混凝土强度等级分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightJlqhntqdLevelNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构剪力墙混凝土强度等级统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightJlqhntqdLevelArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构剪力墙最大间距等级分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightJlqzdSpanNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构剪力墙最大间距等级统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightJlqzdSpanArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构剪力墙最大间距等级分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightShearwellThicknessNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构剪力墙最大间距等级统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightShearwellThicknessArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构屋盖类别分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightRoofTypeNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构屋盖类别统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightRoofTypeArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构楼盖类别分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightFloorTypeNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 高层结构楼盖类别统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> heightFloorTypeArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 工业厂房结构排架柱类型统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> factoryBentFrameColTypeNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 工业厂房结构排架柱类型统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> factoryBentFrameColTypeArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 工业厂房结构各跨跨度统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> factorySpansNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 工业厂房结构各跨跨度统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> factorySpansArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 工业厂房结构排架柱距统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> factoryBentFrameColSpaceNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 工业厂房结构排架柱距统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> factoryBentFrameColSpaceArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 工业厂房结构屋盖体系统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> factoryRoofSystemNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 工业厂房结构屋盖体系统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> factoryRoofSystemArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 工业厂房结构楼盖体系统计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> factoryRoofTrussStyleNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 工业厂房结构楼盖体系统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> factoryRoofTrussStyleArea(AnalysisQueryVo analysisQueryVo);
    /**
     * 工业厂房结构圈梁道数计分析栋数
     * @param analysisQueryVo
     * @return
     */
    List<Map> factoryRingBeamNumNum(AnalysisQueryVo analysisQueryVo);
    /**
     * 工业厂房结构圈梁道数统计分析面积
     * @param analysisQueryVo
     * @return
     */
    List<Map> factoryRingBeamNumArea(AnalysisQueryVo analysisQueryVo);


    //------------------------------Leon-后四个结构------------------------------//

    /**
     * 空旷结构：柱类型-数量
     */
    List<Map> wideColTypeNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 空旷结构：柱类型-面积
     */
    List<Map> wideColTypeArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 空旷结构：柱跨度-数量
     */
    List<Map> wideColSpanNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 空旷结构：柱跨度-面积
     */
    List<Map> wideColSpanArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 空旷结构：柱距-数量
     */
    List<Map> wideColSpaceNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 空旷结构：柱距-面积
     */
    List<Map> wideColSpaceArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 空旷结构：屋面类别-数量
     */
    List<Map> wideWmTypeNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 空旷结构：屋面类别-面积
     */
    List<Map> wideWmTypeArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 空旷结构：屋架形式-数量
     */
    List<Map> wideWjGenreNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 空旷结构：屋架形式-面积
     */
    List<Map> wideWjGenreArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 空旷结构：圈梁道数-数量
     */
    List<Map> wideRingBeamNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 空旷结构：圈梁道数-面积
     */
    List<Map> wideRingBeamArea(AnalysisQueryVo analysisQueryVo);

    //--------------------------土木结构------------------------------//

    /**
     * 土木结构：墙体类型-数量
     */
    List<Map> buildingWallTypeNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 土木结构：墙体类型-面积
     */
    List<Map> buildingWallTypeArea(AnalysisQueryVo analysisQueryVo);


    /**
     * 土木结构：墙体延性材料-数量
     */
    List<Map> buildingQtyxclNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 土木结构：墙体延性材料-面积
     */
    List<Map> buildingQtyxclArea(AnalysisQueryVo analysisQueryVo);


    /**
     * 土木结构：墙体厚度-数量
     */
    List<Map> buildingWallThickNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 土木结构：墙体厚度-面积
     */
    List<Map> buildingWallThickArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 土木结构：门窗洞口宽度-数量
     */
    List<Map> buildingWindowWidthNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 土木结构：门窗洞口宽度-面积
     */
    List<Map> buildingWindowWidthArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 土木结构：屋面材料-数量
     */
    List<Map> buildingWmMaterialNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 土木结构：屋面材料-面积
     */
    List<Map> buildingWmMaterialArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 土木结构：墙体圈梁-数量
     */
    List<Map> buildingWallRingBeamNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 土木结构：墙体圈梁-面积
     */
    List<Map> buildingWallRingBeamArea(AnalysisQueryVo analysisQueryVo);

    //---------------------------木结构------------------------------//

    /**
     * 木结构：穿斗方式-数量
     */
    List<Map> woodCdTypeNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 木结构：穿斗方式-面积
     */
    List<Map> woodCdTypeArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 木结构：木柱梢径-数量
     */
    List<Map> woodMzsjNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 木结构：木柱梢径-面积
     */
    List<Map> woodMzsjArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 木结构：围护墙体类型-数量
     */
    List<Map> woodWallTypeNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 木结构：围护墙体类型-面积
     */
    List<Map> woodWallTypeArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 木结构：山尖墙体类型-数量
     */
    List<Map> woodSjqtTypeNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 木结构：山尖墙体类型-面积
     */
    List<Map> woodSjqtTypeArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 木结构：墙体厚度-数量
     */
    List<Map> woodWallThickNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 木结构：墙体厚度-面积
     */
    List<Map> woodWallThickArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 木结构：墙体圈梁-数量
     */
    List<Map> woodWallRingBeamNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 木结构：墙体圈梁-面积
     */
    List<Map> woodWallRingBeamArea(AnalysisQueryVo analysisQueryVo);

    //--------------------------石结构---------------------------------//

    /**
     * 石结构：墙体材质-数量  普通砖、多孔砖、砌块、其他
     */
    List<Map> stoneWallMaterialNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 石结构：墙体材质-面积
     */
    List<Map> stoneWallMaterialArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 石结构：横墙最大间距-数量
     */
    List<Map> stoneHqzdSpaceNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 石结构：横墙最大间距-面积
     */
    List<Map> stoneHqzdSpaceArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 石结构：墙体厚度-数量  按照≤120mm，120-240mm，240-360mm，≥360mm统计占比
     */
    List<Map> stoneWallThickNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 石结构：墙体厚度-面积
     */
    List<Map> stoneWallThickArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 石结构：横墙开洞面积-数量  大于水平全截面1/3,小于水平全截面1/3
     */
    List<Map> stoneHqkdAreaNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 石结构：横墙开洞面积-面积
     */
    List<Map> stoneHqkdAreaArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 石结构：屋盖类别-数量  木屋盖、现浇屋盖、预制板、彩钢板、其他
     */
    List<Map> stoneRoofTypeNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 石结构：屋盖类别-面积
     */
    List<Map> stoneRoofTypeArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 石结构：圈梁-数量  有圈梁,无圈梁
     */
    List<Map> stonQlNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 石结构：圈梁-面积
     */
    List<Map> stoneQlArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 石结构：四角设构造柱-数量   0（无）,1（有）
     */
    List<Map> stonSjsgzzNum(AnalysisQueryVo analysisQueryVo);

    /**
     * 石结构：四角设构造柱-面积
     */
    List<Map> stoneSjsgzzArea(AnalysisQueryVo analysisQueryVo);

    //砖木
    List<Map> brickwoodOutWallThickNum(AnalysisQueryVo one);

    List<Map> brickwoodOutWallThickArea(AnalysisQueryVo one);

    List<Map> brickwoodInWallThickNum(AnalysisQueryVo one);

    List<Map> brickwoodInWallThickArea(AnalysisQueryVo one);

    List<Map> brickwoodWallMaterialNum(AnalysisQueryVo one);

    List<Map> brickwoodWallMaterialArea(AnalysisQueryVo one);

    List<Map> brickwoodMortarTypeNum(AnalysisQueryVo one);

    List<Map> brickwoodMortarTypeArea(AnalysisQueryVo one);

    List<Map> brickwoodMortarStrengthNum(AnalysisQueryVo one);

    List<Map> brickwoodMortarStrengthArea(AnalysisQueryVo one);

    List<Map> brickwoodRoofTypeNum(AnalysisQueryVo one);

    List<Map> brickwoodRoofTypeArea(AnalysisQueryVo one);

    List<Map> brickwoodFloorTypeNum(AnalysisQueryVo one);

    List<Map> brickwoodFloorTypeArea(AnalysisQueryVo one);

    List<Map> brickwoodJlInstallNum(AnalysisQueryVo one);

    List<Map> brickwoodJlInstallArea(AnalysisQueryVo one);

    List<Map> otherJlqhntqdLevelNum(AnalysisQueryVo one);

    List<Map> otherJlqhntqdLevelArea(AnalysisQueryVo one);

    List<Map> otherShearwellThicknessNum(AnalysisQueryVo one);

    List<Map> otherShearwellThicknessArea(AnalysisQueryVo one);

    List<Map> otherJlqzdSpanNum(AnalysisQueryVo one);

    List<Map> otherJlqzdSpanArea(AnalysisQueryVo one);

    List<Map> otherMortarTypeNum(AnalysisQueryVo one);

    List<Map> otherMortarTypeArea(AnalysisQueryVo one);

    List<Map> otherWallMaterialNum(AnalysisQueryVo one);

    List<Map> otherWallMaterialArea(AnalysisQueryVo one);

    List<Map> otherFloorTypeNum(AnalysisQueryVo one);

    List<Map> otherFloorTypeArea(AnalysisQueryVo one);

    List<Map> otherRoofTypeNum(AnalysisQueryVo one);

    List<Map> otherRoofTypeArea(AnalysisQueryVo one);
}
